package com.ccc.scala.base5_function

object Function3_Paras {
  def main(args: Array[String]): Unit = {
    // 可变参数
    // 可变参数不能放置在参数列表的前面，一般放置在参数列表的最后
    def fun1(num: Int, names: String*): Unit = {
      println(s"num: $num")
      println(names)
    }
    // 调用
    fun1(5, "cc", "dd", "ff", "aa", "zz")


    // 参数默认值
    def fun2(name: String, password: String = "123456"): Unit = {
      println(s"name: ${name}, password: ${password}")
    }
    // 调用
    fun2("CCC") // name: CCC, password: 123456
    fun2("CJ", "321") // name: CJ, password: 321

    // 带名参数
    def fun3(name: String = "QQ", age: Int): Unit = {
      println(s"name: ${name}, age: ${age}")
    }
    // 调用
    // 如果带默认值的参数在前面，而又不想给他传值，那就可以用上带名参数
    fun3("CC", 24) // name: CC, age: 24
    fun3(age = 23) // name: QQ, age: 23

    //
  }
}
